home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1995-11-25 | 6.7 KB | 186 lines |
- IMPLEMENTATION MODULE BierMenu;
- FROM BlRscInc IMPORT QUIT,ABOUT,LOAD,SAVE,EDIT,HELP,OPTIONEN,EXTRAS,MENUE,
- DESK,DATEI,KASSE, PRINT , BESTELL, FAXRECHN, KASSESTD,
- SPENDEN, RECHNUNG, BIEREN, NAMEN, DATUMAE, EKPREISE,ZIRKEL,
- VKPREISE, INVENTUR, STATISTK,ABOUTDIA,SaveFileName,
- LEERZEIL,SAVEWORK,LEERDIA,OKLEER,CANCLEER,ZAHLLEER;
- FROM Preiserfassung IMPORT EinkaufsPreise,VerkaufsPreise,GetDate,
- GetPreferences,SetPreferences;
-
-
- FROM Bestellungen IMPORT Bestellung,Abrechnung;
- FROM EdiereBierListe IMPORT Editiere;
- FROM DruckeBierListe IMPORT PrintBierliste;
- FROM KassenStand IMPORT SpendenErfassen,InventurMachen, BierListeSpeichern,
- BierListeLaden, AlteBierListeLaden;
-
-
- FROM SYSTEM IMPORT ADDRESS;
- FROM EasyDialog IMPORT DoDialog,and,GetText,SetText,IsSelected;
- FROM AES IMPORT FormAlert,GrafMouse,MenuTitleNormal,ResourceGetAddr,
- MenuItemEnable,ObjectChange,MenuItemCheck;
- FROM GEMAESbase IMPORT HourGlass,Arrow,Selected,Normal;
- FROM ConvertStr IMPORT StrToInt,IntToStr;
-
- VAR NachXXordnen,LeerZeilen : INTEGER;
-
- PROCEDURE InitLeerZeilen():INTEGER;
- VAR LeerZeilenAddr: ADDRESS;
- AnzahlDerLeerZeilen :INTEGER;
- DiaReturn :INTEGER;
- LeerZeilenStr: ARRAY [0..1] OF CHAR;
- OK : BOOLEAN;
- BEGIN
- ResourceGetAddr(0,LEERDIA,LeerZeilenAddr);
- GetText(ZAHLLEER,LeerZeilenAddr,LeerZeilenStr);
- DiaReturn:=DoDialog(LeerZeilenAddr,0);
- IF DiaReturn = CANCLEER THEN
- SetText(ZAHLLEER,LeerZeilenAddr,LeerZeilenStr);
- ELSE
- GetText(ZAHLLEER,LeerZeilenAddr,LeerZeilenStr);
- StrToInt(LeerZeilenStr,AnzahlDerLeerZeilen,OK);
- END(*IF*);
- IF OK THEN RETURN AnzahlDerLeerZeilen ELSE RETURN 5 END(*IF*);
- END InitLeerZeilen;
-
-
- PROCEDURE MenueEreignis(msgret:INTEGER;menueadresse:ADDRESS):BOOLEAN;
- VAR formret:INTEGER;
- String: ARRAY [0..127] OF CHAR;
- FileName: ARRAY [0..255] OF CHAR;
- ENDE,OK :BOOLEAN;
- AboutAddr: ADDRESS;
-
- PROCEDURE OrdneNach;
- BEGIN
- MenuItemCheck(menueadresse,BIEREN,0);
- MenuItemCheck(menueadresse,NAMEN,0);
- MenuItemCheck(menueadresse,RECHNUNG,0);
- MenuItemCheck(menueadresse,msgret,1);
- NachXXordnen:=msgret;
- END OrdneNach;
-
-
-
- BEGIN
- ENDE:=FALSE;
- CASE msgret OF
- ABOUT : ResourceGetAddr(0,ABOUTDIA,AboutAddr);
- formret:=DoDialog(AboutAddr,0);
- IF formret = ZIRKEL THEN
- String :='[0][L! Teutonia München i.CC | Richard Wagner Str. 7| 80333 München | Tel 089/521296][ OK ]';
- formret:=FormAlert(1,String);
- END(*IF*);
-
- | QUIT : String :='[3][Wollen Sie das Programm| Verlassen ?][ OK |ABBRUCH]';
- formret:=FormAlert(1,String);
- IF formret = 1 THEN
- ENDE := TRUE;
- END(*IF*); ;
- | EDIT : Editiere;(* Bierliste eingeben, neue Rechnung erstellen*)
- MenuItemEnable(menueadresse,SAVE,1);
- MenuItemEnable(menueadresse,PRINT,1)
-
- | LOAD : (*letzte Rechnung laden um Neue zu erstellen*)
- String :='[2][Möchten Sie eine alte Liste|korrigieren oder |eine neue Abrechnung machen?][Alte|Neue]';
- formret:=FormAlert(2,String);
- IF formret = 1 THEN
- FileName:='*.DAT';
- AlteBierListeLaden(FileName);
- ELSE
- FileName:='*.DAT';
- BierListeLaden(FileName);
- END(*IF*);
- MenuItemEnable(menueadresse,PRINT,1);
- MenuItemEnable(menueadresse,EDIT,1)
- | SAVE : (* s.o.,speichern*)
- BierListeSpeichern(SaveFileName);
- MenuItemEnable(menueadresse,SAVE,0)
- (* Alle Listen sind gespeichert, im Speicher befinden sich
- nur noch leere Listen, ein nochmaliges Abspeichern würde
- das File zerstören*)
-
- | HELP : String :='[0][ Hilfe| Nur zum Test!!!!! | Christian Ledermann| ver 0.0 vom 25.02.93 ][ OK ]';
- formret:=FormAlert(1,String);
- | PRINT : (* Ausdruck der Bierliste/der Statistik*)
- PrintBierliste(NachXXordnen,LeerZeilen);
-
- | BESTELL : (*Bestellungen Beim Faxen*)
- Bestellung;
-
- | FAXRECHN : (* Was kriegt der Fax an Geld?*)
- Abrechnung;
- MenuItemEnable(menueadresse,PRINT,1)
-
- | KASSESTD : (* Was ist/müsste in der Kasse sein *)
- | SPENDEN : (* Kassenstand von Spenden Bereinigen wg. Schwundrechnung*)
- SpendenErfassen;
-
- | RECHNUNG, BIEREN, NAMEN: OrdneNach;(* Wie soll der Ausdruck erfolgen*)
- | DATUMAE : OK:= GetDate();(* Datum ändern*)
- | EKPREISE : EinkaufsPreise;(* EK ändern*)
- MenuItemEnable(menueadresse,SAVE,1)
-
- | VKPREISE : VerkaufsPreise;(* VK ändern*)
- MenuItemEnable(menueadresse,SAVE,1)
-
- | INVENTUR : (* Gesammterfassung des KassenBestandes und Inhalt des Kühlschrankes*)
- InventurMachen;
- MenuItemEnable(menueadresse,PRINT,1);
- MenuItemEnable(menueadresse,SAVE,1)
-
-
- | STATISTK : (* Wo wurde viel Umsatz gemacht, wo ist der Schwund am größten*)
- | LEERZEIL : (* Wie viele Leerzeilen sollen am Ende der Bierliste angefügt werden?*)
- LeerZeilen:=InitLeerZeilen();
- | SAVEWORK : (* Voreinstellungen sichern *)
- String:='[2][ Voreinstellungen sichern][OK|Abbruch]';
- formret:=FormAlert(1,String);
- IF formret=1 THEN
- SetPreferences(NachXXordnen,LeerZeilen);
- END(*IF*);
-
-
-
- ELSE
- ENDE := FALSE;
- END (*CASE*);
- MenuTitleNormal(menueadresse,DATEI,1);
- MenuTitleNormal(menueadresse,DESK,1);
- MenuTitleNormal(menueadresse,KASSE,1);
- MenuTitleNormal(menueadresse,EXTRAS,1);
- MenuTitleNormal(menueadresse,OPTIONEN,1);
-
- RETURN ENDE;
- END MenueEreignis;
-
- PROCEDURE InitPreferences;
- VAR Ordnen,LeerZ : INTEGER;
- ReadDone,OK:BOOLEAN;
- Adr :ADDRESS;
- Str : ARRAY [0..1] OF CHAR;
- BEGIN
- ReadDone:=GetPreferences(Ordnen,LeerZ);
- IF ReadDone THEN
- ResourceGetAddr(0,LEERDIA,Adr);
- IntToStr(LeerZ,0,Str,OK);
- IF OK THEN
- SetText(ZAHLLEER,Adr,Str);
- LeerZeilen := LeerZ;
- END(*IF*);
- ResourceGetAddr(0,MENUE,Adr);
- IF (Ordnen= RECHNUNG)OR (Ordnen= BIEREN)OR (Ordnen= NAMEN) THEN
- NachXXordnen:=Ordnen;
- MenuItemCheck(Adr,BIEREN,0);
- MenuItemCheck(Adr,NAMEN,0);
- MenuItemCheck(Adr,RECHNUNG,0);
- MenuItemCheck(Adr,Ordnen,1);
- END(*IF*);
- END(*IF*);
- END InitPreferences;
-
-
- BEGIN
- NachXXordnen:=NAMEN;
- END BierMenu.
-